package com.zty.xiaomi.server.Controller;

import com.alibaba.fastjson.JSONObject;
import com.zty.xiaomi.server.Dto.GetGoodInfoDto;
import com.zty.xiaomi.server.Entity.GoodInfo;
import com.zty.xiaomi.server.Entity.Good;
import com.zty.xiaomi.server.Entity.GoodAll;
import com.zty.xiaomi.server.Entity.GoodsAll;
import com.zty.xiaomi.server.Entity.index.GoodCategory;
import com.zty.xiaomi.server.Mapper.Goods;
import com.zty.xiaomi.server.Service.Good.GoodServiceImp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.w3c.dom.ls.LSInput;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

@CrossOrigin
@RestController
@RequestMapping("goods")
public class GoodController {
        @Autowired
        private GoodServiceImp goodServiceImp;

        @RequestMapping("getGoodsAll")
        private GoodsAll getGoodByCategory() {
                GoodsAll goodsAll = new GoodsAll();
                ArrayList<GoodAll> goodAlls = new ArrayList<>();
                for (int i = 1; i <= 9; i++) {
                        List<Good> good = goodServiceImp.getGood(i);
                        GoodCategory goodCategory = goodServiceImp.getGoodCategory(i);
                        GoodAll goodAll = new GoodAll();
                        goodAll.setName(goodCategory.getName());
                        goodAll.setFoods(good);
                        goodAlls.add(goodAll);
                }
                goodsAll.setData(goodAlls);
                return goodsAll;
        }

        @GetMapping("getGoodInfoById")
        private GetGoodInfoDto getGoodInfoById(@RequestParam("good_id") int good_id) throws IOException {
                GetGoodInfoDto getGoodInfoDto = new GetGoodInfoDto();
                GoodInfo goodInfo = goodServiceImp.getGoodInfo(good_id);
                if (goodInfo.getGood_id() == 0) {
                        getGoodInfoDto.setStatus("400");
                        getGoodInfoDto.setMsg("此id无法获取数据");
                } else {
                        getGoodInfoDto.setData(goodServiceImp.getGoodInfo(good_id));
                        getGoodInfoDto.setStatus("200");
                }

                return getGoodInfoDto;
        }

//        @PutMapping("updateDate")
//        private int updateDate() throws IOException {
//               int count = 0;
//               List<Integer> list = goodServiceImp.getDate();
//               int[] arr = {11937, 12345, 54321};
//               Random rd = new Random();
//               for (int i = 0; i < list.size(); i++) {
//                       count += goodServiceImp.updateDate(arr[rd.nextInt(3)], list.get(i));
//               }
//               return count;
//        }

}
